package com.smartlight.godlight;

import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.RequestOptions;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.smartlight.godlight.constant.GodlApi;
import com.smartlight.godlight.model.OrderInfo;
import com.smartlight.godlight.utils.OkHttpUtils;
import com.smartlight.godlight.utils.SharedPreferencesUtils;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Timer;

import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;

public class PayRusult extends AppCompatActivity {
    private String TAG = "PayRusult";
    private ImageView queryImageView;
    private TextView title;
    private TextView tipsTextview;
    private OrderInfo orderInfo;

    @Override
    protected void  onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.payresult);

        // toolbar
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        // 获取ActionBar对象（实际上是Toolbar）并设置属性
        ActionBar actionBar = getSupportActionBar();
        if (actionBar != null) {
            actionBar.setDisplayHomeAsUpEnabled(true); // 显示返回箭头
            actionBar.setHomeAsUpIndicator(R.drawable.arrow_orange); // 设置返回图标
            actionBar.setTitle("返回首页"); // 设置标题文字
        }

        // 获取传递过来的参数
        Intent intent = getIntent();
        orderInfo = intent.getParcelableExtra("orderInfo");
        Log.d(TAG, "--查询订单页面接收信息----" + orderInfo.toString());

        // 控件
        queryImageView = findViewById(R.id.queryImageview);
        title = findViewById(R.id.title);
        tipsTextview = findViewById(R.id.tipsTextview);



        tipsTextview.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(PayRusult.this, MainActivity.class);
                intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(intent);
                finish();
            }
        });



        Map<String,String> params = new HashMap<>();
        params.put("merOrderId", orderInfo.getOrderNo());

        // 查询支付结果
        OkHttpUtils.post(GodlApi.PAY_QUERY, params, new Callback() {
            @Override
            public void onFailure(@NonNull Call call, @NonNull IOException e) {

            }

            @Override
            public void onResponse(@NonNull Call call, @NonNull Response response) throws IOException {
                String result = response.body().string();
                Log.d(TAG, "---查询订单接口成功----" + result);
                JsonObject jsonObject = new Gson().fromJson(result, JsonObject.class);

                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        // add code here
                        title.setText("查询成功");
                        tipsTextview.setVisibility(TextView.VISIBLE);
                        // 查询成功，正在为您点亮佛灯
                        // 调贵兴点亮佛灯的接口
                        turnOnLight();

                    }
                });
            }
        });
        // 关闭所有页面，重新返回首页
    }

    private void turnOnLight() {
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                // 5秒后执行的代码
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        // 在UI线程中执行的操作
                        tipsTextview.setText("佛灯点亮成功");
                        Glide.with(PayRusult.this)
                                .load(GodlApi.BASEURL + orderInfo.getBuddhaImg())
//                                .error(R.drawable.bg) // 加载失败时显示的图片
                                .apply(RequestOptions.circleCropTransform()) // 应用圆形裁剪
                                .apply(new RequestOptions()
                                .placeholder(R.drawable.bg) // 加载过程中的占位图
                                .error(R.drawable.bg) // 加载失败时显示的图片
                                .diskCacheStrategy(DiskCacheStrategy.ALL)) // 设置缓存策略，这里是缓存源资源和结果图像到磁盘缓存中
                                .timeout(20000) // 设置超时时间为20秒
                                .into(queryImageView);
                    }
                });
            }
        }, 5000); // 5000毫秒后执行
    }

    @Override
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
                // 返回按钮被点击时执行的代码
                Toast.makeText(this, "返回按钮被点击", Toast.LENGTH_SHORT).show();
                finish();
                return true; // 表示事件已被处理，不再向上传递
        }
        return super.onOptionsItemSelected(item); // 对于其他菜单项，调用父类的处理方法
    }

}
